Summary#
This extension is about using factor labels to carve out a useful subgraph of your causal map:
- Focus: keep the causal neighbourhood around one or more “target” factors (their upstream causes and/or downstream consequences).
- Exclude: remove unwanted factors (and therefore remove any links that touch them).
Unlike label-rewrite transforms (collapse synonyms, remove bracket text, zoom hierarchies, combine opposites), focusing/excluding does not rename factors. It decides which parts of the existing graph you want to see and analyse.
Focusing as neighbourhood extraction (not “just filtering factors”)#
Focusing helps you understand a factor as both an outcome (what leads to it?) and an influence (what follows from it?), without having to interpret the entire map at once.

Step limits define which links are kept#
Let \(F\) be the set of focused factor labels.
- Upstream steps \(U\): how far “back” you look for causes.
- Downstream steps \(D\): how far “forward” you look for consequences.
The intended definition is link-based (not factor-based):
- Keep a link \(x \rightarrow y\) if it lies on any path of length ≤ \(U\) that ends at some focused factor in \(F\), or on any path of length ≤ \(D\) that starts at some focused factor in \(F\).
- Do not then add extra “cross-links” between the factors that happen to survive. (The output should contain only links that are actually part of the selected upstream/downstream paths.)
In interview-style data, causal chains longer than ~4 steps are uncommon; choosing \(U,D\) is therefore a modelling assumption about how far a “story” typically extends.
Matching is label-based#
Focusing operates on factor labels, not on an ontology:
- You can match labels exactly, or match them as substrings (depending on your matching rule).
- Matching is case-insensitive in the current app.
- Multiple focus terms are treated as OR: anything matching any focus term is a target.
“Source tracing” as a conservative interpretation#
Sometimes you want paths that reflect single-source narratives rather than a composite chain stitched together across sources.
In source tracing mode, a factor/link is only kept if there exists at least one path satisfying the upstream/downstream rule where every link segment comes from the same source.
Order matters#
If you apply label-rewrite transforms earlier in your pipeline (collapse, zoom, remove brackets, combine opposites), then focus targets are interpreted in terms of the rewritten labels produced by those transforms. Conceptually: you are focusing on the map after those normalisations.
Excluding factors (the complementary operation)#
Excluding is subtractive: you specify factor-label patterns, and any factor that matches is removed, along with any links incident to it (as cause or effect).
In the current app, exclusion terms within a single exclude-filter are combined with AND; if you want to exclude two different terms independently, you use two exclude filters.
Relationship to “collapse” (different goal)#
- Use collapse/label-rewrite when you want to treat several labels as the same concept while keeping the surrounding structure visible.
- Use focus when you want to keep the original labels but restrict attention to the local causal neighbourhood of a concept.